home *** CD-ROM | disk | FTP | other *** search
- PRT_LINE x1k1 ╔══════╗
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░║ DISK ║░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
- ╚══════╝
- Single or Double Side (0 and 1)
- 80 Tracks (0 to 79)
- ~6250 bytes/track (Capacity 500,000 or 1,000,000 bytes/disk)
- Speed ~300 rpm
-
- ┌────────────────────────────────────────────────────────────────────────┬─────┐
- │ TRACK STRUCTURE │ TOS │
- ├────────────────┬───────────────────────────────────────────────────────┼─────┤
- │ START OF TRACK │ Gap ~$4E ~$4E ... 32 mini ... ~$4E ~$4E │ 60 │
- ├────────────────┼───────────────────────────────────────────────────────┼─────┤
- │ SECTOR │ Synchro $00 $00 ... 8 mini ... $00 $00 ~$A1 $A1 $A1 │ 12 │
- │ │ Index Address Mark $FE │ │
- │ │ Track number 0-79 │ │
- │ │ Side number 0-1 │ │
- │ │ Sector number 1-n │ 1-9 │
- │ │ Sector length in bytes 0: 128 │ │
- │ │ 1: 256 │ │
- │ │ 2: 512 │ 2 │
- │ │ 3:1024 │ │
- │ │ Cyclic Redundancy Checksum $SS $SS │ │
- │ │ Gap $4E $4E ... 22 ... $4E $4E │ │
- │ │ Synchro $00 $00 ... 12 ... $00 $00 ~$A1 $A1 $A1 │ │
- │ │ Data Address Mark $FB/$F8 │ $FB │
- │ │ Data $XX $XX ... 128/256/512/1024 ... $XX $XX │ 512 │
- │ │ Cyclic Redundancy Checksum $SS $SS │ │
- │ │ Gap ~$4E ~$4E ... 24 mini ... ~$4E ~$4E │ 40 │
- ├────────────────┼───────────────────────────────────────────────────────┼─────┤
- │ ANOTHER SECTOR │ etc... │ 9 │
- ├────────────────┼───────────────────────────────────────────────────────┼─────┤
- │ END OF TRACK │ Gap ~$4E ~$4E ... 16 mini ... ~$4E ~$4E │ 664 │
- └────────────────┴───────────────────────────────────────────────────────┴─────┘
- ┌────────────────────────┐
- │ TOS SECTOR ASSIGNMENTS │
- ┌────────────┴───────────┬────────────┴─┬───────────┐
- │ Physical Sector │ Track │ Single │
- ├──────────────────────┐ │ ┌───────────┤ │
- │ Cluster │ │ │ Side │ Side Disk │
- ├──────────────────┐ │ │ │ ┌─────────┼───────────┤
- │ Logical Sector │ │ │ │ │ Track │ Double │
- ├─────────────┐ │ │ │ │ │ ┌──────┤ │
- │ Contents │ │ │ │ │ │ │ Side │ Side Disk │
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┬────┴───────────┘
- │ Boot sector │ 0│ -│1│ 0│0│ 0│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ FAT 1 │ 1│ -│2│ 0│0│ 0│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ FAT 1 │ 2│ -│3│ 0│0│ 0│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ FAT 1 │ 3│ -│4│ 0│0│ 0│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ FAT 1 │ 4│ -│5│ 0│0│ 0│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ FAT 1 │ 5│ -│6│ 0│0│ 0│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ FAT 2 │ 6│ -│7│ 0│0│ 0│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ FAT 2 │ 7│ -│8│ 0│0│ 0│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ FAT 2 │ 8│ -│9│ 0│0│ 0│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ FAT 2 │ 9│ -│1│ 1│0│ 0│1│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ FAT 2 │ 10│ -│2│ 1│0│ 0│1│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Directory │ 11│ -│3│ 1│0│ 0│1│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Directory │ 12│ -│4│ 1│0│ 0│1│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Directory │ 13│ -│5│ 1│0│ 0│1│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Directory │ 14│ -│6│ 1│0│ 0│1│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Directory │ 15│ -│7│ 1│0│ 0│1│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Directory │ 16│ -│8│ 1│0│ 0│1│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Directory │ 17│ -│9│ 1│0│ 0│1│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Data │ 18│ 2│1│ 2│0│ 1│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Data │ 19│ 2│2│ 2│0│ 1│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Data │ 20│ 3│3│ 2│0│ 1│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Data │ 21│ 3│4│ 2│0│ 1│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Data │ 22│ 4│5│ 2│0│ 1│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Data │ 23│ 4│6│ 2│0│ 1│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Data │ 24│ 5│7│ 2│0│ 1│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Data │ 25│ 5│8│ 2│0│ 1│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Data │ 26│ 6│9│ 2│0│ 1│0│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Data │ 27│ 6│1│ 3│0│ 1│1│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Data │ 28│ 7│2│ 3│0│ 1│1│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Data │ 29│ 7│3│ 3│0│ 1│1│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Data │....│...│.│..│.│..│.│
- ├─────────────┼────┼───┼─┼──┼─┼──┼─┤
- │ Data │ 719│352│9│79│0│39│1│
- │ Data │1439│712│9│ │ │79│1│
- └─────────────┴────┴───┴─┴──┴─┴──┴─┘
- ┌─────────────┐
- │ BOOT SECTOR │
- ───────────────────────────┴─────────────┴──────────────────────────────────────
- Byte# Designation
- ------- --------------------------------------
- 0-1 0 or BRA.S address in this boot sector
- 2-7 Free text of 6 bytes
- 8-10 Disk serial number on 24 bits
- 11-12 #Bytes per sector = 512 | (Low-High)
- 13 #Sectors per cluster = 2 |
- 14-15 #Reserved sectors = 1 | (Low-High)
- 16 #File Allocation Table = 2 |
- 17-18 #Elements in directory = 112 | BIOS (Low-High)
- 19-20 #Sectors =720/1440 | PARAMETER (Low-High)
- 21 Media descriptor = $F8/$F9 | BLOCK
- 22-23 #Sectors per FAT = 5 | (Low-High)
- 24-25 #Sectors per track = 9 | (Low-High)
- 26-27 #Sides = 1/2 | (Low-High)
- 28-29 #Hidden sectors = 0 | (Low-High)
- 30-509 -
- 510-511 2 Bytes for adjust checksum of 256 words of bootsector
- to reach $1234 for executable bootsector
- ┌───────────────────────┐
- │ FILE ALLOCATION TABLE │
- ──────────────────────┴───────────────────────┴─────────────────────────────────
- 12 bits (3 nibbles) for each cluster with this code:
- $000:Free cluster
- $FF7:Bad cluster
- $HML:Next cluster (H:High nibble M:Middle nibble L:Low nibble)
- $FFF:End cluster
-
- Logical: - - Cl.2 Cl.3 Cl.4 Cl.5 Cl.6 Cl.7 ...
- $FF7 $FFF H2M2L2 H3M3L3 H4M4L4 H5M5L5 H6M6L6 H7M7L7
-
- Physical: $F7 $FF $FF M2L2 L3H2 H3M3 M4L4 L5H4 H5M5 M6L6 L7H6 H7M7 ...
- ┌───────────┐
- │ DIRECTORY │
- ───────────────────────────┴───────────┴────────────────────────────────────────
- There are 112 entries of 32 bytes each.
-
- byte#
- 0-7 Name ( 0:not used )
- ("."0:root directory )
- (". ":current subdirectory)
- ("..":parent subdirectory)
- ( $E5:erased )
- 8-10 Extension
- 11 Type b5=archive bit
- b4=subdirectory
- b3=volume label
- b2=system file
- b1=hidden file
- b0=read only file
- 12-21 -
- 22-23 Hour b15-b11=hours
- b10-b5=minuts
- b4-b0=seconds
-
- 24-25 Date b15-b9=year-1980
- b8-b5=month
- b4-b0=day
-
- 26-27 Starting cluster (Low-High)
- 28-31 Length (Low-Midl-Midh-High)
-